Software products of all types, whether operating systems or various types of application programs, are frequently provided in multiple “localized”, language specific versions. For instance, a software product may initially be developed in a specific language such as English. Once this original, or “base” product has been developed and tested, localized versions, in a language appropriate to the market for which the product is intended, may be developed. For example, a product originally developed in English in the United States may be localized to produce a Japanese language version for sale in Japan. The process of creating a localized version, or translation, is herein referred to as “localization.”
A common method of localization is known as internal localization. Internal localization typically involves changing the resources of the original software product to produce the localized version. For example, all of the elements of the user interface, messages, help information, and other language specific parts of the software product are translated and re-built. Since the resources of the software product are revised and rebuilt, testing is required for each internally localized version generated, in addition to the base product. The building of the dynamic link libraries (DLLs) correctly is a complex process for many applications, and the tools involved are often proprietary or secret. Since testing is labor intensive, this method can be extremely expensive. In addition to being expensive, internal localization, due to the long time required to test a software product, results in a very slow delivery of localized versions of software products. This is known as the multiple language user interface (MUI) approach where all of the resources for each language are grouped into resource files. These files are usually stored in a folder named after the language. It is with respect to these needs that the present invention has been developed.